package com.cmc.cloud.cmclink.doc.vo.voyagelock;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;

/**
 * 航次锁船记录 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 * @author codegen
 */
@Data
public class VoyageLockImBaseVO {

    @Schema(description = "blnoIds", requiredMode = Schema.RequiredMode.REQUIRED)
    private String blnoIds;
        @Schema(description = "船舶代码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{VoyageLockBaseVO.vesselCode.NotBlank}")
	@Length(max = 50,message = "{VoyageLockBaseVO.vesselCode.Length}")
    private String vesselCode;
	
        @Schema(description = "航次", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{VoyageLockBaseVO.voyage.NotBlank}")
	@Length(max = 50,message = "{VoyageLockBaseVO.voyage.Length}")
    private String voyage;
	
        @Schema(description = "港口代码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "{VoyageLockBaseVO.portCode.NotBlank}")
	@Length(max = 5,message = "{VoyageLockBaseVO.portCode.Length}")
    private String portCode;
	
        @Schema(description = "锁定D/O	Lock D/O	5/10	已锁D/O的提单数量/总提单数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1/2")
    private String lockDo;
    @Schema(description = "锁定费用	Lock Charge	5/10	已锁费用的提单数量/总提单数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1/2")
    private String lockCharge;
    @Schema(description = "发送到货通知	Send Arrive Notice	21/23	已发送AN的提单数量/总提单数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1/2")
    private String sendArriveNotice;

}
